package com.cheng.mapper;


import com.cheng.pojo.ClassRecord;
import com.cheng.pojo.LeaveInfo;
import com.cheng.pojo.Teacher;
import com.cheng.pojo.User;
import org.apache.ibatis.annotations.Param;


import java.util.HashMap;
import java.util.List;
import java.util.Map;

public interface UserMapper {
    /**
     * 校验学生的id是否已经注册
     * */
    User checkUserRegister(@Param("userId") String userId);
    /**
     * 添加学生信息到数据库
     * */
     void addStudent(Map<String,String> user);
    /**
     * 添加老师信息到数据库
     * */
     void addTeacher(Map<String,String> user);

    /**
     * 修改用户人脸操作
     * */
    void  updateFace(Map<String,String> map);
    /**
     *根据openid获取用户
     */
    User getUser(@Param("openid") String openid);

    User getUserBySid(@Param("sid") String sid);
    /**
     * 根据openId获得tid
     * */
    Teacher getTeacher(@Param("openid") String openid);


    Teacher getTeacherTid(@Param("tid") String tid);

    List<ClassRecord> getUserJoinClass(@Param("sid") String sid);

    List<ClassRecord> getTeacherCreateClass(@Param("tid") String tid);


    List<LeaveInfo> checkLeaveState(@Param("tid") String tid);
    /**
     * 得到班级的用户签到信息
     * */
    List<LeaveInfo> getLeaveList(@Param("cid") String cid);

    void  userLeaveHandler(Map<String,String> map);

    void updateLeaveState(Map<String,String> map);

    LeaveInfo checkUserClassLeave(@Param("sid") String sid ,@Param("cid") String cid);

    void getLeaveUser(@Param("cid")String cid);

    String byLogIdGetSid(@Param("logId")String logId);

    /**
     * 修改签到记录表的状态为请假
     * @param sid
     * @param cid
     */
    void updateLeaveUser(@Param("sid") String sid ,@Param("cid") String cid);

    List<LeaveInfo> getUserAllLeaveInfo(@Param("sid") String sid,@Param("cid") String cid);

    int updateUserInfo(Map<String,String> map);

    int updateTeacherInfo(Map<String,String> map);

    int delClass(@Param("sid") String sid,@Param("cid") String cid);
}
